草庐IT

javascript - 哈希登录 jQuery 调用

全部标签

ruby-on-rails - 从数组创建哈希的最简洁方法

我似乎经常遇到这种情况。我需要使用数组中每个对象的属性作为键从数组构建哈希。比方说我需要一个散列的例子使用ActiveRecordobjecs通过他们的ids键控常用方式:ary=[collectionofActiveRecordobjects]hash=ary.inject({}){|hash,obj|hash[obj.id]=obj}另一种方式:ary=[collectionofActiveRecordobjects]hash=Hash[*(ary.map{|obj|[obj.id,obj]}).flatten]梦想之路:我可以而且可能会自己创建这个,但是Ruby或Rails中有什

ruby-on-rails - Rails 3.1 管道 - 排除 Javascript 文件

我想从管道中排除一个特定的javascript文件(modernizr),因为我希望它单独加载。我想在开头加载Modernizr,并在末尾连接我的其余javascript。有没有办法在3.1的Assets管道中执行与要求相反的操作?IE。排除?提前致谢。亚当。 最佳答案 我选择通过更改来保留链轮的功能//=require_tree到//=require_directory.这会让sprockets自动加载同一目录中的任何文件,但不会进一步加载任何文件夹中的文件。这让我可以将Modernizr.js移动到assets/javascri

ruby - 如何从 ruby​​ 中的哈希中获取前 n 个元素?

我有一个哈希,我已经使用值对它进行了排序@friends_comment_count.sort_by{|k,v|-v}现在我只想获取前五个元素的哈希值。一种方法是使用计数器并在其为5时中断。在ruby​​中首选的方法是什么?谢谢 最佳答案 h={'a'=>10,'b'=>20,'c'=>30}#getthefirsttwopHash[*h.sort_by{|k,v|-v}[0..1].flatten]已编辑:#getthefirsttwo(moreconcisely)pHash[h.sort_by{|k,v|-v}[0..1]]

ruby - 如何通过数字索引获取哈希值

有一个散列:h={:a=>"val1",:b=>"val2",:c=>"val3"}我可以引用哈希值:h[:a],h[:c]但我想通过数字索引来引用:h[0]=>val1h[2]=>val3这可能吗? 最佳答案 h.values会给你一个请求的数组。>h.values#⇒[#[0]"val1",#[1]"val2",#[2]"val3"#]UPD虽然h[h.keys[0]]的答案被标记为正确,但我对基准测试有点好奇:h={:a=>"val1",:b=>"val2",:c=>"val3"}Benchmark.bmdo|x|x.repo

ruby-on-rails - 无差异访问的哈希

我有一个非Rails项目,我在其中从YAML文件加载一些设置:config=YAML::loadFile.open("#{LOG_ROOT}/config/database.yml")我只能像config["host"],config["username"]等访问这个hash我想要无差别访问,所以我可以同时使用:host和"host"。原因是,我要将此哈希传递给的项目中的一个gem似乎正在使用符号访问它,但目前失败了。在这种情况下,创建无差别访问的哈希的最佳方法是什么? 最佳答案 通过安装ActiveSupportgem,除了几kB

ruby - 如何调用父类(super class)方法

我有两个类A和B。B类重写A类的foo方法。B类有一个bar方法,我想在其中调用父类(superclass)的foo方法。这种调用的语法是什么?classAdeffoo"hello"endendclassB对于类方法,我可以通过在类名前显式添加前缀来调用继承链中的方法。我想知道实例方法是否有类似的习语。classPdefself.x"x"endendclassQ编辑我的用例很一般。对于特定情况,我知道我可以使用alias技术。这是Java或C++中的常见功能,所以我很想知道是否可以在不添加额外代码的情况下执行此操作。 最佳答案 在R

ruby - 什么是选项哈希?

有人能解释一下选项哈希吗?我正在学习testfirst.org的ruby类(class)。练习10(temperature_object)需要选项散列的知识。 最佳答案 Optionshash是ruby​​解析器的一个特性所支持的一个很好的概念。比如说,你有一个带有一些必需参数的方法。您也可以传递一些可选参数。随着时间的推移,您可能会添加更多可选参数或删除旧参数。为了保持方法声明的干净和稳定,您可以在散列中传递所有这些可选参数。这种方法看起来像这样:deffoo(arg1,arg2,opts={})opts.to_s#justret

ruby-on-rails - 如何从 Rails Observer/Model 调用 expire_fragment?

我几乎什么都试过了,但似乎无法使用来自模型的expire_fragment?我知道你不应该这样做非MVC,但肯定有很多方法可以做到。我在lib/cache_helper.rb中用我所有的过期助手创建了一个模块,在每个中只是一堆expire_fragment调用。我有我所有的/app/sweepers下的缓存清扫器设置,并有一个“includeCacheHelper”在我的应用程序Controller中,因此在通过Controller调用时应用程序工作正常。然后事情是我有一些外部守护进程,尤其是一些循环的cron任务调用一个调用特定任务的rake任务方法。此方法进行一些处理并将条目输入到

ruby - 如何过滤哈希数组以仅获取另一个数组中的键?

我正在尝试为数组中的每个散列获取键的子集。哈希实际上要大得多,但我认为这更容易理解:[{id:2,start:"3:30",break:30,num_attendees:14},{id:3,start:"3:40",break:40,num_attendees:4},{id:4,start:"4:40",break:10,num_attendees:40}]我只想获取id和start值。我试过:return_keys=['id','start']return_array=events.select{|key,val|key.to_s.in?return_keys}但这会返回一个空数组。

ruby - 在 Ruby 中反转哈希

我如何反转散列中的元素,保持相同的值和键,但反转它们在散列中的顺序。像这样:{"4"=>"happiness","10"=>"cool","lala"=>"54","1"=>"spider"}并将其转换为:{"1"=>"spider","lala"=>"54","10"=>"cool","4"=>"happiness"}或者,也许我可以向后运行一个each循环,从散列中的最后一个元素开始,而不是从第一个元素开始? 最佳答案 您可以将哈希转换为数组,将其反转,然后再将其转换回哈希:reversed_h=Hash[h.to_a.reve